#coding:utf-8

####################################################################
##  一，脚本语法说明：
##  [类型字段, 命令字段, 匹配结果字段, 超时时间字段, 错误等级字段]
##  1，类型字段：
##        0：AT命令
##        1：延迟
##        2：数据
##		  3：命令嵌套
##	2，命令字段：
##		1）AT命令
##		[0, 'AT命令字符串', '匹配结果', 超时时间（单位s）, 错误等级字段]
##		2）延迟命令
##		[1, 延迟时间（单位ms）, '', '', '']
##		3）发送数据
##		[2, '数据内容', '匹配结果', 超时时间(单位s), 错误等级字段]
##		4）命令嵌套
##		[2, 命令列表名称, '', '', 错误等级字段]
##	3，匹配结果字段：
##		1）单行字符串('string')：按照字符串查找方式，匹配AT返回中的某一行，如果匹配成功就认为命令执行成功
##		2) 单行正则表达式(Reg('reg')): 按照正则表达式匹配方式，匹配AT返回中某一行，如果匹配成功就认为命令执行成功
##		3）多行字符串(FullMatch('string_line1\r\nstring_line2')): 按照字符串查找方式，匹配AT返回中的多行，如果匹配成功就认为命令执行成功
##		4）多行正则表达式(ReMatch('reg1[\s\S]+reg2')): 按照正则表达式匹配方式，匹配AT返回的多行，如果匹配成功就认为命令执行成功
##	4，超时时间字段：
##		如果执行【命令字段】后没有匹配到【匹配结果字段】，就会等待超时，超时时间单位为s
##	5，错误等级字段
##		0：忽略该条命令匹配错误继续执行下一行
##		1：如果该条命令匹配错误就停止执行
####################################################################
#apn1 = 'wonet'
ipReg = '(\d{1,3}\.){3}(2[0-4]\d|25[0-5]|[01]?\d?[0-9])'
apnReg = '\w+(\.\w+)*'
#tcpip_cgdcont_reg = '\+CGDCONT: [7-9],\"IP\w*\",\"'+apnReg+'\","'+ipReg+'".*[\s\S]+OK\r\n'
tcpip_cgdcont_reg = '\+CGDCONT: [7-9],\"IP\w*\",\"\w+(\.\w+)*\","(\d{1,3}\.){3}(2[0-4]\d|25[0-5]|[01]?\d?[0-9])".*[\s\S]+OK\r\n'

cip_init = [
	[0,'AT+CIPSHUT', 'SHUT OK', 30, 1],
	[0,'AT+CIPSHOWTP=0', 'OK', 1, 1],
	[0,'AT+CIPSRIP=0', 'OK', 1, 1],
	[0,'AT+CIPQSEND=0', 'OK', 1, 1],
	[0,'AT+CIPRXGET=0', 'OK', 20,1],
	[0,'AT+CIPMUX=0', 'OK', 1, 1],
	[0,'AT+CIPMODE=0', 'OK', 1, 1],
	[0,'AT+CIPHEAD=0', 'OK', 1, 1],
	[0,'AT+CIPSSL=0', 'OK', 5, 1],
	[0,'AT+SAPBR=0,1', Reg('\+CME .+'), 5, 0],
	[0,'AT+SAPBR=0,2', Reg('\+CME .+'), 5, 0],
	[0,'AT+HTTPTERM', Reg('\+CME .+'), 5, 0],
	[0,'AT+FTPQUIT', Reg('\+CME .+'), 5, 0],
]
cip_pdp = [
	#[0, 'ATE0', 'OK',1,1],
	[3, cip_init, '', '', 1],
	
	[0,'AT+CSTT="'+apn1+'"', 'OK', 5, 1],
	[0,'AT+CIICR', 'OK', 20, 1],
	[0,'AT+CIFSR', Reg('(\d{1,3}.){3}\d{1,3}'), 2, 1],
	[0,'AT+CIPSTART="TCP","121.40.198.143",12415', 'CONNECT OK', 50, 1],
	[0,'AT+CIPSEND=10\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', FullMatch('SEND OK\r\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\n'), 20, 1],
	[0,'AT+CIPSEND=10\r0123456789', FullMatch('SEND OK\r\n0123456789\r\n'), 20, 1],
	
	
	
	[0,'AT+CFUN=4','+PDP: DEACT', 20, 1],
	
	[0,'AT+CIPSHUT', 'SHUT OK', 5, 1],
	
	[0,'AT+CGREG=1', 'OK',5,1],
	
	[0,'AT+CFUN=1','+CGREG: 1', 50, 1],
	
	[0,'AT+CGREG=0', 'OK',5,1],
	[1, 2000,"","",""],
	[1, 2000,"","",""],
	
	
	
	#[0,'AT+SAPBR=0,1', 'OK', 5, 1],
	[0,'AT+SAPBR=3,1,"CONTYPE","GPRS"', 'OK', 20,1],
	[0,'AT+SAPBR=3,1,"APN","'+apn1+'"', 'OK', 20,1],
	[0,'AT+SAPBR=1,1', 'OK', 20,1],
	[0,'AT+SAPBR=2,1', 'OK', 20,1],
	
	[0,'AT+CFUN=4','+SAPBR 1: DEACT', 20, 1],
	
	[0,'AT+CGREG=1', 'OK',5,1],
	
	[0,'AT+CFUN=1','+CGREG: 1', 50, 1],
	
	[0,'AT+CGREG=0', 'OK',5,1],
	[1, 2000,"","",""],
	[1, 2000,"","",""],
	

	
	
]

#cmdlist = [
#	[3, pdp_ciicr,'','',1],
#[3, pdp_sapbr,'','',1],
#]